
//公共方法调用
var manager = function() {
	
	// 从url中获取参数
	function findParamFromUrl(name) {
		var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); // 构造一个含有目标参数的正则表达式对象
		var r = window.location.search.substr(1).match(reg); // 匹配目标参数
		if (r != null)
			return unescape(r[2]);
		return null; // 返回参数值
	}
	
	/* 获取接口的当前项目路径 */
	function getContextPath() {
	    //获取当前网址
	    var curPath = window.document.location.href;
	    //获取项目根目录之后的目录
	    var pathName = window.document.location.pathname;
	    var pos = curPath.indexOf(pathName);
	    //获取主机地址
	    var localhostPaht = curPath.substring(0, pos);
	    //获取带"/"的项目名
	    var projectName = pathName.substring(0, pathName.substr(1).indexOf('/') + 1);
	    //项目标记
	    var index = "/za/";
	    
	    return (localhostPaht + projectName + index);
	}
	
	// 未登录时,返回登陆页面
	function returnLogin() {
		var redirectUrl = encodeURIComponent(window.location.href);
		window.location.href = Constants.loginUrl + "app/jsp/main/login.html?redirectURL=" + redirectUrl;
	}

	// 判断是否登陆
	function isLogin(fn) {
		$.ajax({
			type : "GET",
			url : Constants.amUrlPath + "common/heartBeatSession?t=" + new Date().getTime(),
			success : function(data) {
				if (data == Constants.NOLOGIN.CODE) {
					returnLogin();
				} else {
					fn.call("", data);
				}
			}
		});
	}
	
	// 错误信息
	function errorMsg(data, fn) {
		var path = "../../common/i18n/";
		jQuery.i18n.properties({// 加载资浏览器语言对应的资源文件
	        name: 'error', // 资源文件名称
	        path: path, // 资源文件路径
	        mode: 'map', // 用 Map 的方式使用资源文件中的值
	        language: "zh",
	        callback: function () {// 加载成功后设置显示内容
	        	if (data.message != null) {
	        		// 逻辑错误代码
	        		var sysMsg = $.i18n.map[data.message];
	        		error({
	        			txt: sysMsg,
	        			callBackFun: function() {
	        				if (typeof fn == "function") {
	        					fn();
	        				}
	        			}
	        		});
	        	} else {
	        		var msg = "";
	        		var errorList = data.errorList;
	        		for (var i = 0; i < errorList.length; i++) {
	        			var errorData = errorList[i].errorData;
	        			var eachError = $.i18n.map[errorData];
	        			msg += eachError;
	        			if (i != errorList.length - 1) {
	        				msg += "<br/>";
	        			}
	        		}
	        		alert({
	        			title: "提示",
	        			txt: msg,
	        			callBackFun: function() {
	        				if (typeof fn == "function") {
	        					fn();
	        				}
	        			}
	        		});
	        	}
	        }
	    });
	}
	
	return {
		findParamFromUrl:findParamFromUrl,
		getContextPath: getContextPath,
		isLogin : isLogin,
		errorMsg: errorMsg
	};
}();